上次講完如何建立新增重複天數的功能之後,接下來要介紹的是更改備註、更改鈴聲、是否會震動(做 UI 即可)
跳進來的頁面其實就一個 TextField 而已,把要更改的內容放在單例傳到主頁面即可!
class label_text : NSObject {
var label = "Alarm"
static let shareinstance = label_text()
private override init() {
}
}
class set_labelVC: UIViewController {
@IBOutlet weak var label_tf: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
label_tf.text! = label_text.shareinstance.label
}
@IBAction func back(_ sender: Any) {
label_text.shareinstance.label = label_tf.text!
self.navigationController?.popViewController(animated: true)
}
}
上面的是用 TextView 放的,做法和更改重複天數的方法很像,只是沒有重複勾選的部分!
一樣先設一個單例來放置他更改的鈴聲值
class Sound_select {
var sound_select = "Rader"
static let sharedsound = Sound_select()
private init() {}
}
再來要設置一個陣列來存放擁有的鈴聲清單,可以放到 TabelView 裡
還要設置打勾的值目前是哪一個(預設是 Radar 所以我們給他 Radar)
let sound = ["Radar" , "Marimba" , "Opening" , "Waves" , "XyloPhone"]
var check = "Radar"
再來就是設定 TabelView 的內容了,步驟重複,這裡就不再多贅述
extension set_soundVC : UITableViewDataSource , UITableViewDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
sound.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableview.dequeueReusableCell(withIdentifier: "sound_cell", for: indexPath) as! sound_cell
cell.sound_label.text = sound[indexPath.row]
if check == sound[indexPath.row] {
cell.accessoryType = .checkmark
}
else {
cell.accessoryType = .none
}
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
check = sound[indexPath.row]
Sound_select.sharedsound.sound_select = sound[indexPath.row]
tableView.reloadData()
}
}
資料最後再傳到單例並更新 TabelView 畫面即可!
這邊做得比較簡單,把程式碼做在這頁即可
我們只需要放一個 Switch 開關,並設定他為 Boolean ,按下 Save 的時候,回傳 Switch 的狀況,最後再傳到單例即可
class snooze_switch {
var snooze_select = true
static let snooze_shared = snooze_switch()
private init() {}
} //單例
if snooze_switch.snooze_shared.snooze_select == true
{
snooze.isOn = true
}
else
{
snooze.isOn = false
}
//判斷